<?php
 Session_Start () ;
 If (!$_SESSION ["repertoire_config"]) { Header ("Location: ../../sortie.php?sortie=3") ; }
 Include ($_SESSION ["repertoire_config"]."/garennes.cfg") ;
 Include ($_SESSION ["repertoire_config"]."/init.php") ;
 Include ("../include/config.inc") ;
 verif_droits ($droit_courant, $_SESSION ["code"]) ;
 
 Function fabrique_cvs ($nom_table)
  {
   Global $id_sql, $separateur ;
   $resultat = SQL_commande ("SELECT * FROM ".$nom_table, $id_sql) ;
   $total_t = SQL_nbr_champs ($resultat) ;
   $chaine = "" ;
   While ($ligne = SQL_ligne_suivante ($resultat))
    {
     $chaine .= "\"".$ligne [0]."\"" ;
     For ($i = 1 ; $i < $total_t ; $i++)
      {
       $chaine .= $separateur."\"".$ligne [$i]."\"" ;
      }
     $chaine .= "\n" ;
    }
   Return $chaine ;
  }

 If (IsSet ($archivage))
  { 
   If (!IsSet ($nom)) { $nom = "archive_garennes_".Date ("Y")."_".Date ("m") ; }
   If (!IsSet ($separateur)) { $separateur = ";" ; }
   
   MkDir ($repertoire_sauvegarde."/gestion") ;
   $fichier = FOpen ($repertoire_sauvegarde."/gestion/table_sauvegardes".$ext_texte, "w") ;
    FPuts ($fichier, fabrique_cvs ("sauvegardes")) ;
   FClose ($fichier) ;
   $fichier = FOpen ($repertoire_sauvegarde."/gestion/table_sauvegardes_fichiers".$ext_texte, "w") ;
    FPuts ($fichier, fabrique_cvs ("sauvegardes_fichiers")) ;
   FClose ($fichier) ;
   
   MkDir ($repertoire_restauration."/gestion") ;
   $fichier = FOpen ($repertoire_restauration."/gestion/table_restaurations".$ext_texte, "w") ;
    FPuts ($fichier, fabrique_cvs ("restaurations")) ;
   FClose ($fichier) ;
   $fichier = FOpen ($repertoire_restauration."/gestion/table_restaurations_fichiers".$ext_texte, "w") ;
    FPuts ($fichier, fabrique_cvs ("restaurations_fichiers")) ;
   FClose ($fichier) ;
     
   Exec ("cd ".$repertoire_sauvegarde."; tar cf ./sauvegardes_".Date ("Y").".tar ./*") ;
   Exec ("cd ".$repertoire_sauvegarde."; gzip ./sauvegardes_".Date ("Y").".tar") ;
   Exec ("cd ".$repertoire_restauration."; tar cf ".$repertoire_sauvegarde."/restaurations_".Date ("Y").".tar ./*") ;
   Exec ("cd ".$repertoire_restauration."; gzip ".$repertoire_sauvegarde."/restaurations_".Date ("Y").".tar") ;
   
   Exec ("cd ".$repertoire_sauvegarde."; tar cf ./".$nom."_".Date ("Y").".tar ./sauvegardes_".Date ("Y").".tar.gz ./restaurations_".Date ("Y").".tar.gz") ;
   Exec ("cd ".$repertoire_sauvegarde."; gzip ./".$nom."_".Date ("Y").".tar") ;
 
   Header ("Content-disposition: filename=".$nom.".tar.gz") ;
   Header ("Content-type: application/compresse") ;
   Header ("Pragma: no-cache") ;
   Header ("Expires: 0") ;
   ReadFile ($repertoire_sauvegarde."/".$nom.".tar.gz") ;
   
   // Nettoyage
   Exec ("cd ".$repertoire_sauvegarde."; rm --force ./*.tar.gz; rm --force ./*.tar") ;
   Exec ("cd ".$repertoire_sauvegarde."; rm --force ./gestion/*".$ext_texte."; rmdir ./gestion") ;
   Exec ("cd ".$repertoire_restauration."; rm --force ./gestion/*".$ext_texte."; rmdir ./gestion") ;
   // Effacement de toutes les sauvegardes et restaurations
   If ($effacer)
    {
     $resultats = SQL_commande ("SELECT * FROM sauvegardes", $id_sql) ;
     For ($i = 0 ; $i < SQL_nbr_lignes ($resultats) ; $i++)
      {
       $s = SQL_tableau_associatif ($resultats, "") ;
       Exec ("cd ".$repertoire_sauvegarde."; rm --force ./".$s ["nom_repertoire"]."/*; rmdir ./".$s ["nom_repertoire"]) ;
      }
     $resultats = SQL_commande ("DELETE FROM sauvegardes", $id_sql) ;
     $resultats = SQL_commande ("DELETE FROM sauvegardes_fichiers", $id_sql) ;
     $resultats = SQL_commande ("SELECT * FROM restaurations", $id_sql) ;
     For ($i = 0 ; $i < SQL_nbr_lignes ($resultats) ; $i++)
      {
       $r = SQL_tableau_associatif ($resultats, "") ;
       Exec ("cd ".$repertoire_restauration."; rm --force ./".$r ["nom_repertoire"]."/*; rmdir ./".$r ["nom_repertoire"]) ;
      }
     $resultats = SQL_commande ("DELETE FROM restaurations", $id_sql) ;
     $resultats = SQL_commande ("DELETE FROM restaurations_fichiers", $id_sql) ;
    }
  }
 
 $resultats = SQL_commande ("SELECT * FROM menus WHERE numero='".$droit_courant."' AND ordre='0'", $id_sql) ;
 $l = SQL_tableau_associatif ($resultats, "") ;  
 Echo "<HTML>\n" ;
 Echo " <HEAD>\n" ;
 entete_html ("Garennes - Archivage", "", 1) ;
 Echo styles ("none", "none", "none", $l ["couleur_fond"], "none") ;
 Echo "  <SCRIPT>\n" ;
 Echo "   function verif()\n" ;
 Echo "    {\n" ;
 Echo "     if (document.forme.nom.value==\"\")\n" ;
 Echo "      {\n" ;
 Echo "       alert (\"Il manque le NOM\\ndu fichier archive !\")\n" ;
 Echo "       document.forme.nom.focus()\n" ;
 Echo "       document.forme.nom.select()\n" ;
 Echo "       return false\n" ;
 Echo "      }\n" ;
 Echo "     else if (document.forme.separateur.value==\"\")\n" ;
 Echo "      {\n" ;
 Echo "       alert (\"Il manque le SEPARATEUR\\npour les fichiers CSV !\")\n" ;
 Echo "       document.forme.separateur.focus()\n" ;
 Echo "       document.forme.separateur.select()\n" ;
 Echo "       return false\n" ;
 Echo "      }\n" ;
 Echo "     else { return true }\n" ;
 Echo "    }\n" ;
 Echo "  </SCRIPT>\n" ;
 Echo " </HEAD>\n" ;
 
 $resultats = SQL_commande ("SELECT * FROM menus WHERE numero='$droit_courant' AND ordre='0'", $id_sql) ;
 $l = SQL_tableau_associatif ($resultats, "") ;
 Echo " <BODY BACKGROUND=\"../images/fond.png\" TEXT=\"".$l ["couleur_texte"]."\" OnContextMenu=\"return false\">\n" ;
 Echo "  <CENTER><FONT COLOR=\"#0000FF\">Archivage&nbsp;des&nbsp;donn&eacute;es&nbsp;</FONT></CENTER>\n" ;
 Echo "  <FORM ACTION=\"./archivage.php\" METHOD=\"POST\" NAME=\"forme\" onSubmit=\"return verif()\">\n" ;
 Echo "   <INPUT TYPE=HIDDEN NAME=\"archivage\" VALUE=\"1\">\n" ;
 Echo "   <INPUT TYPE=HIDDEN NAME=\"appel_interne\" VALUE=\"1\">\n" ;
 Echo "   <TABLE BORDER=1 BORDERCOLOR=\"#000000\" ALIGN=CENTER BGCOLOR=\"".$l ["couleur_fond"]."\" CELLPADDING=0 CELLSPACING=0 style=\"border-collapse:collapse\">\n" ;
 Echo "    <TR><TD COLSPAN=2 BGCOLOR=\"".$l ["lien"]."\" ALIGN=CENTER>&nbsp;<B>Param&ecirc;tres</B>&nbsp;</TD></TR>\n" ;
 Echo "    <TR>\n" ;
 Echo "     <TD>\n" ;
 Echo "      <TABLE BORDER=0 BORDERCOLOR=\"#000000\" ALIGN=CENTER BGCOLOR=\"".$l ["couleur_fond"]."\" CELLPADDING=1 CELLSPACING=1 WIDTH=\"100%\">\n" ;
 Echo "       <TR><TD COLSPAN=2>&nbsp;</TD></TR>\n" ;
 Echo "       <TR>\n" ;
 Echo "        <TD ALIGN=RIGHT>&nbsp;Nom&nbsp;de&nbsp;l'archive&nbsp;:&nbsp;</TD>\n" ;
 Echo "        <TD ALIGN=LEFT><INPUT TYPE=TEXT NAME=\"nom\" SIZE=30 MAXLENGTH=50 VALUE=\"archive_garennes_".Date ("Y")."_".Date ("m")."\"><FONT COLOR=\"#FF0000\">.tar.gz</FONT></TD>\n" ;
 Echo "       </TR>\n" ;
 Echo "       <TR><TD COLSPAN=2>&nbsp;</TD></TR>\n" ;
 Echo "       <TR>\n" ;
 Echo "        <TD ALIGN=RIGHT>&nbsp;S&eacute;parateur&nbsp;CSV&nbsp;:&nbsp;</TD>\n" ;
 Echo "        <TD ALIGN=LEFT><INPUT TYPE=TEXT NAME=\"separateur\" VALUE=\";\" SIZE=2 MAXLENGTH=1></TD>\n" ;
 Echo "       </TR>\n" ;
 Echo "       <TR><TD COLSPAN=2>&nbsp;</TD></TR>\n" ;
 Echo "       <TR>\n" ;
 Echo "        <TD ALIGN=RIGHT><INPUT TYPE=CHECKBOX NAME=\"effacer\"></TD>\n" ;
 Echo "        <TD ALIGN=LEFT>&nbsp;Effacer&nbsp;toutes&nbsp;les&nbsp;sauvegardes&nbsp;(<FONT COLOR=\"#FF0000\"><BLINK><B>DANGEREUX</B></BLINK></FONT>)&nbsp;</TD>\n" ;
 Echo "       </TR>\n" ;
 Echo "       <TR><TD COLSPAN=2>&nbsp;</TD></TR>\n" ;
 Echo "       <TR>\n" ;
 Echo "        <TD ALIGN=CENTER COLSPAN=2><INPUT TYPE=IMAGE SRC=\"../images/valider.png\" BORDER=0></TD>\n" ;
 Echo "       </TR>\n" ;
 Echo "      </TABLE>\n" ;
 Echo "     </TD>\n" ;
 Echo "    </TR>\n" ;
 Echo "   </TABLE>\n" ;
 Echo "  </FORM>\n" ;
 Echo " </BODY>\n" ;
 Echo "</HTML>\n" ;
?>